package com.example.permissionservice.service;

public interface PermissionService {

    /**
     * 为用户绑定指定角色
     * @param userId 用户ID
     * @param roleCode 角色代码
     */
    void bindRole(Long userId, String roleCode);

    /**
     * 为新用户绑定默认角色（普通用户）
     * @param userId 用户ID
     */
    void bindDefaultRole(Long userId);

    /**
     * 查询用户角色代码
     * @param userId 用户ID
     * @return 角色代码 (e.g., "admin")
     */
    String getUserRoleCode(Long userId);

    /**
     * 升级用户为管理员
     * @param userId 用户ID
     */
    void upgradeToAdmin(Long userId);

    /**
     * 降级用户为普通用户
     * @param userId 用户ID
     */
    void downgradeToUser(Long userId);
} 